import cv2
import numpy as np

# 导入原图
img = cv2.imread("img/trape.png")
cv2.imshow("img", img)
# 原始图形的四点位置
pts1 = np.array([[80, 67], [216, 34], [231, 255], [24, 187]]).astype(np.float32)
# 拉伸（矫正）的目标位置
pts2 = np.array([[0, 0], [300, 0], [300, 300], [0, 300]]).astype(np.float32)

# 定义一个矫正的内核M(通过八个点算出，最终内核矩阵)
M = cv2.getPerspectiveTransform(pts1, pts2)
# 执行矫正变换（透视变换）
result = cv2.warpPerspective(img, M, dsize=(300, 300))
cv2.imshow("result", result)
cv2.waitKey(0)
